iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
自我挑戰組

用 Discord Bot 玩轉 DevOps系列 第 20

用BOT自動發 changelog(3)-部署(1)

  • 分享至 

  • xImage
  •  

在要實做出自動發送合併PR的通知時,我才發現一個問題是我的bot需要手動上線,也就是他只會在我啟動他時才能夠進行以上的指令操作,這樣也更不用說完成自動發送的功能了,而為了解決這個問題,就必須將bot部署,確保他能夠24小時上線


我使用的是render這個網站
Step 1:首先建立Render部署的必要配置檔案
https://ithelp.ithome.com.tw/upload/images/20251003/20169329Mqd7UyTBaM.png
分別內容如下:

Requirements.txt : 列出 Python 專案的所有依賴套件

discord.py==2.3.2
python-dotenv==1.0.0
requests==2.31.0
schedule==1.2.0

Render 在部署時會執行 pip install -r requirements.txt,確保所有必要的 Python 套件都被安裝

runtime.txt : 指定 Python 版本

python-3.13.4

確保 Render 使用正確的 Python 版本,如果沒有指定,Render 會使用預設版本

render.yaml : 定義整個部署的配置和服務

services:
  - type: worker
    name: discord-bot-devops
    env: python
    plan: free
    buildCommand: pip install -r requirements.txt
    startCommand: python bot.py

集中管理所有設定不用在 Render 網頁界面一個個設定

Step 2: 修改部分程式碼

# 環境變數載入邏輯(兼容本地和 Render)
if os.path.exists('.env'):
    load_dotenv('.env')
else:
    print("ℹ️  在 Render 環境中運行,使用系統環境變數")

Step 3: 將新增及修改的檔案全部推送至github
Step 4: 前往 https://render.com/ 進行部署
(1) 登入/註冊後點擊 "New +" → "Web Service"
(2) 連接GitHub 倉庫
(3) 配置設定如下: (到時去render截圖)
(4) 設定環境變數(到時去render截圖),建立token、id等變數
接著就可以讓render開始部署了


上一篇
用BOT自動發 changelog(2)
下一篇
用BOT自動發 changelog(4)-部署(2)
系列文
用 Discord Bot 玩轉 DevOps25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言